#ifndef _FIG_MOVING_PARTICLES_H_
#define _FIG_MOVING_PARTICLES_H_

#include "ui/ui_manager.h"
#include "math/vec2.h"
#include "graphics/color.h"
#include <vector>

class FIGMovingParticles
{
public:

	const static int					MAX_PARTICLE_COUNT = 50;

	
	struct		FIGMovingParticle
	{
		math::Vec2		m_Pos;
		float			m_Speed;
		COLOR			m_BaseColor;

		FIGMovingParticle() : m_Speed(0),
							  m_BaseColor(ColorfRGBA(1.0f,1.0f,1.0f,1.0f))
		{

		}
	};

	static FIGMovingParticles&			Instance();

	virtual void						Render(const math::Vec2& Offset, float Scale);
	virtual void						Tick(float dt);
	

	void								Clear();
	
	
protected:

	
	FIGMovingParticles();
	~FIGMovingParticles();

	std::vector<FIGMovingParticle*>		m_MovingParticles;
	ui::UISprite						m_Sprite;	
	
};

#endif